# !/usr/bin/python3
# -*- coding: utf-8 -*-
# @Author : Lawrence
# @File : delete_pdf_page.py
# @Project : worktool
# @Time : 2024/11/11 18:41


import PyPDF2


def delete_pages_from_pdf(input_path, output_path, pages_to_delete):
    # 打开源 PDF 文件
    source_pdf = PyPDF2.PdfReader(input_path)

    # 创建一个新的 PDF 写入对象
    output_pdf = PyPDF2.PdfWriter()

    # 遍历源 PDF 的所有页面
    for page_num in range(len(source_pdf.pages)):
        if page_num not in pages_to_delete:
            # 如果当前页面不在要删除的页面列表中，则将其添加到输出 PDF
            output_pdf.add_page(source_pdf.pages[page_num])

    # 将输出 PDF 写入到文件
    with open(output_path, 'wb') as output_file:
        output_pdf.write(output_file)


# 示例用法
input_path = './data/merged.pdf'
output_path = 'data/output.pdf'
pages_to_delete = [14]  # 删除第 3 页（索引从 0 开始）

delete_pages_from_pdf(input_path, output_path, pages_to_delete)